| description |
|---|
Critical analysis of problems with root cause identification before proposing solutions |
Thoroughly analyze the current problem before proposing any solutions. Focus on identifying root causes and asking clarifying questions.
| description |
|---|
Critical analysis of problems with root cause identification before proposing solutions |
Thoroughly analyze the current problem before proposing any solutions. Focus on identifying root causes and asking clarifying questions.
| import com.github.luben.zstd.Zstd; | |
| import io.lettuce.core.RedisClient; | |
| import io.lettuce.core.RedisURI; | |
| import io.lettuce.core.api.StatefulRedisConnection; | |
| import io.lettuce.core.codec.ByteArrayCodec; | |
| import io.lettuce.core.pubsub.RedisPubSubAdapter; | |
| import io.lettuce.core.pubsub.StatefulRedisPubSubConnection; | |
| import io.lettuce.core.pubsub.api.async.RedisPubSubAsyncCommands; | |
| import io.netty.util.concurrent.DefaultThreadFactory; | |
| import org.bukkit.Bukkit; |
1/03/2023
| Обход блокировок роскомнадзора без прокси и VPN! | |
| Среди пользователей интернета в России, наверное, уже не осталось тех, кто ни разу не задавался вопросом, как возможно обойти блокировки роскомнадзора. Большинство сайтов и гайдов обычно советуют использовать Tor, прокси или VPN. Эти решения, несмотря на свою относительную простоту и очевидность, имеют ряд недостатков: во-первых, VPN или прокси бывают медленными, из-за чего их использование может быть некомфортным. Во-вторых, эти способы обхода зачастую необходимо каждый раз включать и выключать. В-третьих, хороших бесплатных VPN/прокси не так много. | |
| Однако существует способ обхода цензуры без использования каких-либо сторонних серверов. Принцип его работы, если объяснять совсем просто, заключается в изменении исходящих запросов к сайтам, позволяющим обойти фильтры DPI большинства российских интернет-провайдеров, ограничивающих доступ к сайтам. | |
| Для компьютеров на Windows есть удобная утилита от ValdikSS, называющаяся GoodbyeDPI, ее достаточно установить как |
| const currentVersion = Constants.expoConfig.version; | |
| getAppInfoFromTheStore(country) | |
| .then((appInfo) => { | |
| if (isValidVersionFormat(appInfo?.version)) { | |
| const [currentMajor, currentMinor, currentPatch] = currentVersion | |
| .split('.') | |
| .map(Number); | |
| const [newMajor, newMinor, newPatch] = appInfo.version | |
| .split('.') |
| from pathlib import Path | |
| from typing import Iterable | |
| # ============================================================================= | |
| # Configuration | |
| # ============================================================================= | |
| OUTPUT_FILE = "snapshot.txt" | |
| MAX_FILE_SIZE = 200_000 # bytes |
| Latency Comparison Numbers (~2012) | |
| ---------------------------------- | |
| L1 cache reference 0.5 ns | |
| Branch mispredict 5 ns | |
| L2 cache reference 7 ns 14x L1 cache | |
| Mutex lock/unlock 25 ns | |
| Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
| Compress 1K bytes with Zippy 3,000 ns 3 us | |
| Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
| Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |